sysroot: Don't cache sepolicy
authorColin Walters <walters@verbum.org>
Tue, 28 Mar 2017 15:16:09 +0000 (11:16 -0400)
committerAtomic Bot <atomic-devel@projectatomic.io>
Tue, 28 Mar 2017 19:09:58 +0000 (19:09 +0000)
In [this commit](https://github.com/ostreedev/ostree/commit/6ce80f9685e6273dbcb4731d6650a10976ea220a)
for some reason I added a `sepolicy` member to the sysroot.  I
have no idea why I did that, and it's conceptually wrong
since the policy is specific to a *deployment*.

This bit me when I was working on [a pull request](https://github.com/ostreedev/ostree/pull/763)
elsewhere, since at that point it was `NULL`.

We already pass around the sepolicy in the deployment code, so just stop caching
it.

Closes: #764
Approved by: jlebon

src/libostree/ostree-sysroot-deploy.c
src/libostree/ostree-sysroot-private.h
src/libostree/ostree-sysroot.c

index d12e47b274e41a7b11ea749fb83f95ddfe586d63..ee25d3f0afde0a08a95cebc4a1b0b51ab3c5207f 100644 (file)
@@ -756,7 +756,7 @@ selinux_relabel_var_if_needed (OstreeSysroot                 *sysroot,
       { g_auto(OstreeSepolicyFsCreatecon) con = { 0, };
         const char *selabeled_abspath = glnx_strjoina ("/", selabeled);
 
-        if (!_ostree_sepolicy_preparefscreatecon (&con, sysroot->sepolicy,
+        if (!_ostree_sepolicy_preparefscreatecon (&con, sepolicy,
                                                   selabeled_abspath,
                                                   0644, error))
           return FALSE;
@@ -2128,9 +2128,6 @@ ostree_sysroot_deploy_tree (OstreeSysroot     *self,
       return FALSE;
     }
 
-  g_clear_object (&self->sepolicy);
-  self->sepolicy = g_object_ref (sepolicy);
-
   if (!selinux_relabel_var_if_needed (self, sepolicy, os_deploy_dfd,
                                       cancellable, error))
     return FALSE;
@@ -2144,7 +2141,7 @@ ostree_sysroot_deploy_tree (OstreeSysroot     *self,
 
   { g_auto(OstreeSepolicyFsCreatecon) con = { 0, };
 
-    if (!_ostree_sepolicy_preparefscreatecon (&con, self->sepolicy,
+    if (!_ostree_sepolicy_preparefscreatecon (&con, sepolicy,
                                               "/etc/ostree/remotes.d/dummy.conf",
                                               0644, error))
       return FALSE;
index 3900092aa1f3ba621976c5b8665a45407fa625d0..4bc7802bc29c4f1435c9f6e4d8f7b22aa6003e8f 100644 (file)
@@ -49,8 +49,6 @@ struct OstreeSysroot {
 
   gboolean loaded;
   
-  OstreeSePolicy *sepolicy;
-  
   GPtrArray *deployments;
   int bootversion;
   int subbootversion;
index 00db9f0a58aba4eaf017e5498ec44d8ae0035270..bdf7376b172470521600328204cc3113f5507703 100644 (file)
@@ -72,7 +72,6 @@ ostree_sysroot_finalize (GObject *object)
   OstreeSysroot *self = OSTREE_SYSROOT (object);
 
   g_clear_object (&self->path);
-  g_clear_object (&self->sepolicy);
   g_clear_object (&self->repo);
   g_clear_pointer (&self->deployments, g_ptr_array_unref);
   g_clear_object (&self->booted_deployment);